/*
	Written By Pradipna Nepal
	www.pradsprojects.com

	Copyright (C) 2012 Prads Projects
	Please read COPYING.txt included along with this source code for more detail.
	If not included, see http://www.gnu.org/licenses/
*/

#ifndef LIBSYMBOLTABLE_H
#define LIBSYMBOLTABLE_H

#include "libFunctionTable.h"
#include "libIdentifierTable.h"
#include "libStructTable.h"
using namespace FunctionTable;
using namespace IdentifierTable;
using namespace StructureTable;

struct SblTable {
	FuncTable funcTable;
	vector<IdentTable> identTable;
	StructTable structTable;
};

namespace SymbolTable {
	bool createSymbolTable(vector<TokenModule> *modules, SblTable *sOut);
}

#endif